b0086768784789e0550bc58b0253d09cb2968d4a,public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/GaussianMixtureModel.java,GaussianMixtureModel,evaluateDatum,#VariantDatum#,207
Before Change
for( final MultivariateGaussian gaussian : gaussians ) {
pVarInGaussianLog10[gaussianIndex++] = gaussian.pMixtureLog10 + gaussian.evaluateDatumLog10( datum );
}
double lod = MathUtils.log10sumLog10(pVarInGaussianLog10); // Sum(pi_k * p(v|n,k))
// Negative infinity lod values are possible when covariates are extremely far away from their tight Gaussians
// Cap the values at an extremely negative value and spread them out randomly
if( lod < MIN_ACCEPTABLE_LOD_SCORE ) {
lod = MIN_ACCEPTABLE_LOD_SCORE - GenomeAnalysisEngine.getRandomGenerator().nextDouble() * MIN_ACCEPTABLE_LOD_SCORE;
}
return lod;
}
// Used only to decide which covariate dimension is most divergent in order to report in the culprit info field annotation
After Change
for( final MultivariateGaussian gaussian : gaussians ) {
pVarInGaussianLog10[gaussianIndex++] = gaussian.pMixtureLog10 + gaussian.evaluateDatumLog10( datum );
}
return MathUtils.log10sumLog10(pVarInGaussianLog10); // Sum(pi_k * p(v|n,k))
}
// Used only to decide which covariate dimension is most divergent in order to report in the culprit info field annotation